Podsumowanie
Wykorzystane biblioteki:
library(knitr)
library(shiny)
library(plotly)
## Warning: package 'plotly' was built under R version 3.4.3
library(ggplot2)
library(dplyr)
library(caret)
library(pROC)
## Warning: package 'pROC' was built under R version 3.4.3
Wczytanie danych
elektrownie <- as.data.frame(read.csv("elektrownie.csv"));
elektrownie_wykr <- filter(elektrownie, pressure != 0);
elektrownie_wykr <- filter(elektrownie, irr_pvgis_mod != 0);
elektrownie_wykr <- filter(elektrownie, pressurei != 0);
Przetwarzanie brakujących danych
Rozmiar zbioru i podstawowe statystyki
Szczegółowa analiza wartości atrybutów
Korelacje między zmiennymi
kor1 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$azimuth, name = 'azimuth', type = 'scatter', mode = 'markers') %>%
add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers') %>%
layout(title = 'Azymut - energia ',
xaxis = list(title = 'Energia',
zeroline = TRUE),
yaxis = list(title = 'Azymut'));
kor1;
kor2 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$temp, name = 'temp', type = 'scatter', mode = 'markers') %>%
add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers')%>%
layout(title = 'Temperatura - energia ',
xaxis = list(title = 'Energia',
zeroline = TRUE),
yaxis = list(title = 'Temperatura'));
kor2;
kor3 <- plot_ly(elektrownie_wykr, x = ~data, y= elektrownie_wykr$pressure, name = 'pressure', type = 'scatter', mode = 'markers') %>%
add_trace(y = ~elektrownie_wykr$kwh, name = 'energia', mode = 'markers')%>%
layout(title = 'Cisnienie - energia',
xaxis = list(title = 'Energia',
zeroline = TRUE),
yaxis = list(title = 'Ciesnienie'));
kor3;
Wykres zmiany wytwarzanej energii w czasie i przestrzeni
p_glowny <- plot_ly(elektrownie_wykr, x = ~kwh, y = ~ora, z = ~dist,
marker = list(color = ~elektrownie_wykr$azimuth, colorscale = c('#FFE1A1', '#683531'), showscale = TRUE)) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = 'Energia'),
yaxis = list(title = 'Godzina'),
zaxis = list(title = 'Odleglosc')),
annotations = list(
x = 1.13,
y = 1.05,
text = 'Energia',
xref = 'paper',
yref = 'paper',
showarrow = FALSE
))
p_glowny;
Regresor przewidujący wytwarzaną energię przez każdy panel w ujęciu godzinowym
trainPart <- createDataPartition(
y = elektrownie_wykr$idsito,
p = .75,
list = FALSE
)
training <- elektrownie_wykr[trainPart,];
testing <- elektrownie_wykr[-trainPart,];
ctrl <- trainControl(
# powtórzona ocena krzyżowa
method = "repeatedcv",
# liczba podziałów
number = 2,
# liczba powtórzeń
repeats = 5);
set.seed(23)
fit <- train(kwh ~ idsito,
data = training,
method = "gaussprLinear",
trControl = ctrl);
fit
## Gaussian Process
##
## 1896 samples
## 1 predictor
##
## No pre-processing
## Resampling: Cross-Validated (2 fold, repeated 5 times)
## Summary of sample sizes: 948, 948, 948, 948, 948, 948, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 0.07031674 0.0435249 0.02434517
Analiza ważności atrybutów najlepszego znalezionego modelu regresji: